[XEN] 32on64 kexec: Make the compat page table cover the first 4G of physical memory.
authorIan Campbell <ian.campbell@xensource.com>
Wed, 14 Mar 2007 16:36:04 +0000 (16:36 +0000)
committerIan Campbell <ian.campbell@xensource.com>
Wed, 14 Mar 2007 16:36:04 +0000 (16:36 +0000)
This gives the guest kernel more flexibility on where it places the control page.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
xen/arch/x86/x86_64/compat_kexec.S

index c06db6fc7e3e2c7448b13e5b2736707f97ed315a..cc6f3d6fce62701381ce78d5cf7c9ff4634345b2 100644 (file)
@@ -103,13 +103,13 @@ compat_page_list:
 
         /*
          * These compat page tables contain an identity mapping of the
-         * first 1G of the physical address space.
+         * first 4G of the physical address space.
          */
 compat_pg_table:
         .long compat_pg_table_l2 + 0*PAGE_SIZE + 0x01 - __PAGE_OFFSET, 0
-        .long 0, 0
-        .long 0, 0
-        .long 0, 0
+        .long compat_pg_table_l2 + 1*PAGE_SIZE + 0x01 - __PAGE_OFFSET, 0
+        .long compat_pg_table_l2 + 2*PAGE_SIZE + 0x01 - __PAGE_OFFSET, 0
+        .long compat_pg_table_l2 + 3*PAGE_SIZE + 0x01 - __PAGE_OFFSET, 0
 
         .align 4096,0
 
@@ -123,4 +123,7 @@ compat_pg_table_l2:
         .endif
         .endm
 
-        identmap
+        identmap 0x00000000
+        identmap 0x40000000
+        identmap 0x80000000
+        identmap 0xc0000000